The search for new approaches to parallel computing and advanced data storage and retrieval have generated a great deal of interest in neural networks. In general, neural networks attempt to duplicate the logic performed by the human brain and the brains of other animals. The circuit models that have been proposed provide for both learning (e.g., a programming mode) and decision-making (e.g., recognition, associative memory, etc.). For a broad discussion of neural networks, see "A Neuralmorphic VLSI Learning System", by Aspector and Allan, Advanced Research in VLSI, Proceedings of a 1987 Stanford Conference.
FIG. 6 of the Alspector paper shows a typical neuron or cell. A neuron includes dendrites (inputs), synapses (connections), neuron body (summing amplifier) and axon (output). Often, the synapses for these cells are implemented by using digital registers and digital-to-analog convertors to provide a weighting factor or function. Other circuit means are provided to multiply the input signal by this weighted factor. An example of such a synapse is found in co-pending application entitled "Semiconductor Cell For Neural Network Employing A Four-Quadrant Multiplier", Ser. No. 283,553, filed on 12/09/88 and assigned to the assignee of the present invention. The weighting factor associated with a given synapse represents a connection strength within the neural network.
One category of tasks that neural networks are useful in performing are recognition tasks, i.e., analyzing data and identifying which features are present. This involves matching templates and expected features to the data and finding the best fit or a list of good fits. In pattern matching problems the same stored patterns are repeatedly compared to different input patterns using the same calculation. One measure of the difference between two binary patterns is the "Hamming distance". A binary pattern or binary vector is defined within the context of this application to be a string of 1's and 0's (bits) in which the sequence of the bits is meaningful. Mathematically, the Hamming distance between two patterns is the number of the bits which are different in the two patterns in corresponding positions. Of course, both patterns must have the same number of bits for the Hamming distance to have any real meaning. The Hamming distance calculation is logically identical to EXCLUSIVE-ORing bits in corresponding positions in the binary patterns and summing the results.
While there have been several cells proposed for implementing the EXCLUSIVE-OR function and volatile data storage in amplifier neural networks (e.g., Clark et al., "A Pipelined Associative Memory Implemented in VLSI", IEEE Journal of Solid-State Circuits, Vol. 24, No. 1, pp. 28-34, Feb. 1989), applicant is unaware of any proposed devices capable of performing the EXCLUSIVE-OR function and non-volatile data storage. As will be seen, the present invention comprises a semiconductor cell capable of performing the EXCLUSIVE-OR function and non-volatile storage of a single bit of information. This cell is well-suited for performing pattern recognition tasks and for computing the Hamming distance between two binary patterns.